﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using matrixdotnet.Common;
using matrixdotnet.CommonDAL;

namespace matrixdotnet.CommonDALImp
{
    public abstract class DataEntityFactoryL<
        TUniqueKey, TBusinessEntity, TDataEntity, TDataEntityInterface, TLazyEntity> :
        DataEntityFactory<long, TUniqueKey, TBusinessEntity, TDataEntity, TDataEntityInterface, TLazyEntity>,
        IDataEntityFactoryL<TUniqueKey, TBusinessEntity, TDataEntity, TDataEntityInterface, TLazyEntity>
        where TUniqueKey : struct
        where TBusinessEntity : class, IBusinessEntity<TUniqueKey>
        where TDataEntityInterface : class, IDataEntityL<TUniqueKey, TBusinessEntity>, TBusinessEntity
        where TDataEntity : class, TDataEntityInterface
        where TLazyEntity : LazyDataEntityL<TUniqueKey, TBusinessEntity, TDataEntityInterface>, TBusinessEntity
    {
        public DataEntityFactoryL(UnitOfWork uow) : base(uow)
        {
        }
    }
}
